A WeakMap is a collection in JavaScript that allows you to store key-value pairs where the keys are weakly held, meaning they don't prevent the garbage collection of their associated values. This is useful for scenarios where you want to associate data with objects without preventing their disposal.